import json

def _parse_menu_data(data_str):
    """解析菜单JSON数据"""
    try:
        json_data = json.loads(data_str)
        
        # 确保数据格式正确
        if not isinstance(json_data, dict):
            json_data = json.loads(json_data)
            
        json_list = json_data.get("一级菜单", [])
        
        # 确保菜单列表格式正确
        if not isinstance(json_list, list):
            json_list = json.loads(json_list)
            
        return json_list
    except Exception as e:
        print(f"解析菜单数据时发生错误: {e}")
        print(f"错误数据: {data_str}")
        return []
        
if __name__ == "__main__":
    b = {"一级菜单": [{"名称": "首页", "二级菜单": [{"名称": "分析页", "三级菜单": []}, {"名称": "工作台", "三级菜单": []}]}, {"名称": "文档", "二级菜单": []}, {"名称": "引导", "二级菜单": []}, {"名称": "组件", "二级菜单": [{"名称": "表单", "三级菜单": [{"名称": "全部示例", "三级菜单": []}, {"名称": "UseForm", "三级菜单": []}]}, {"名称": "表格", "三级菜单": [{"名称": "基础示例", "三级菜单": []}, {"名称": "UseTable", "三级菜单": []}, {"名称": "TreeTable", "三级菜单": []}, {"名称": "表格图片预览", "三级菜单": []}, {"名称": "表格视频预览", "三级菜单": []}, {"名称": "卡片表格", "三级菜单": []}]}, {"名称": "编辑器", "三级菜单": [{"名称": "富文本", "三级菜单": []}, {"名称": "JSON编辑器", "三级菜单": []}, {"名称": "代码编辑器", "三级菜单": []}]}, {"名称": "查询", "三级菜单": []}, {"名称": "描述", "三级菜单": []}, {"名称": "图片预览", "三级菜单": []}, {"名称": "弹窗", "三级菜单": []}, {"名称": "图标", "三级菜单": []}, {"名称": "图标选择器", "三级菜单": []}, {"名称": "图表", "三级菜单": []}, {"名称": "数字动画", "三级菜单": []}, {"名称": "二维码", "三级菜单": []}, {"名称": "高亮", "三级菜单": []}, {"名称": "信息提示", "三级菜单": []}, {"名称": "密码输入框", "三级菜单": []}, {"名称": "瀑布流", "三级菜单": []}, {"名称": "图片裁剪", "三级菜单": []}, {"名称": "视频播放器", "三级菜单": []}, {"名称": "头像列表", "三级菜单": []}, {"名称": "我同意", "三级菜单": []}, {"名称": "Tree 树形控件", "三级菜单": []}]}, {"名称": "功能", "二级菜 单": [{"名称": "多开标签页", "三级菜单": []}, {"名称": "请求", "三级菜单": []}, {"名称": "权限测试页", "三级菜单": []}]}, {"名称": "hooks", "二级菜单": [{"名称": "useWatermark", "三级菜单": []}, {"名称": "useTagsView", "三级菜单": []}, {"名称": "useValidator", "三级菜单": []}, {"名称": "useCrudSchemas", "三级菜单": []}, {"名称": "useClipboard", "三级菜单": []}, {"名称": "useNetwork", "三级菜单": []}]}, {"名称": "多级菜单", "二级菜单": [{"名称": "菜单1", "三级菜单": [{"名称": "菜单1-1", "三级菜单": [{"名称": "菜单1-1-1", "三级菜单": []}]}, {"名称": "菜单1-2", "三级菜单": []}]}, {"名称": "菜单2", "三级菜单": []}]}, {"名称": "综合示例", "二级菜单": [{"名称": "综合示 例 - 弹窗", "三级菜单": []}, {"名称": "综合示例 - 页面", "三级菜单": []}]}, {"名称": "错误页面", "二级菜单": [{"名称": "404", "三级菜单": []}, {"名称": "403", "三级菜单": []}, {"名称": "500", "三级菜单": []}]}, {"名称": "权 限管理", "二级菜单": [{"名称": "部门管理", "三级菜单": []}, {"名称": "用户管理", "三级菜单": []}, {"名称": "菜单管理", "三级菜单": []}, {"名称": "角色管理", "三级菜单": []}]}]}
    a = {"一级菜单": [{"名称": "首页", "二级菜单": [{"名称": "分析页", "三级菜单": []}, {"名称": "工作台", "三级菜单": []}]}, {"名称": "文档", "二级菜单": []}, {"名称": "引导", "二级菜单": []}]}  # 这里为了简洁省略了部分内容
    # result = _parse_menu_data(a)
    # print(result)
    result = _parse_menu_data(b)
    print(result)
